home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: Alpha / Whiteline Alpha.iso / linux / atari / source / source.lzh / atari-linux-0.01pl3 / drivers / char / defkeyma.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-18  |  52.6 KB  |  1,230 lines

  1. /* Automatically generated by cnv_defkeymap */
  2.  
  3. #include <linux/autoconf.h>
  4. #include <linux/types.h>
  5. #include <linux/keyboard.h>
  6. #include <linux/kd.h>
  7.  
  8. /* This one points to the machine specific key mapping. */
  9. u_short *mach_key_map;
  10.  
  11. #if defined(CONFIG_AMIGA)
  12. /* (permutation array was ami_kmap) */
  13.  
  14. u_short amiga_key_map[NR_KEYMAPS][NR_KEYS] = {
  15.     { /* no modifiers */
  16. /* 00-03 */    '`',    '1',    '2',    '3',
  17. /* 04-07 */    '4',    '5',    '6',    '7',
  18. /* 08-0b */    '8',    '9',    '0',    '-',
  19. /* 0c-0f */    '=',    '\\',    K_HOLE,    K_P0,
  20. /* 10-13 */    'q',    'w',    'e',    'r',
  21. /* 14-17 */    't',    'y',    'u',    'i',
  22. /* 18-1b */    'o',    'p',    '[',    ']',
  23. /* 1c-1f */    K_HOLE,    K_P1,    K_P2,    K_P3,
  24. /* 20-23 */    'a',    's',    'd',    'f',
  25. /* 24-27 */    'g',    'h',    'j',    'k',
  26. /* 28-2b */    'l',    ';',    '\'',    K_HOLE,
  27. /* 2c-2f */    K_HOLE,    K_P4,    K_P5,    K_P6,
  28. /* 30-33 */    K_HOLE,    'z',    'x',    'c',
  29. /* 34-37 */    'v',    'b',    'n',    'm',
  30. /* 38-3b */    ',',    '.',    '/',    K_HOLE,
  31. /* 3c-3f */    K_PDOT,    K_P7,    K_P8,    K_P9,
  32. /* 40-43 */    ' ',    'H'&0x1f,    'I'&0x1f,    K_PENTER,
  33. /* 44-47 */    K_ENTER,    '['&0x1f,    '?'|0x40,    K_HOLE,
  34. /* 48-4b */    K_HOLE,    K_HOLE,    K_PMINUS,    K_HOLE,
  35. /* 4c-4f */    K_UP,    K_DOWN,    K_RIGHT,    K_LEFT,
  36. /* 50-53 */    K_F1,    K_F2,    K_F3,    K_F4,
  37. /* 54-57 */    K_F5,    K_F6,    K_F7,    K_F8,
  38. /* 58-5b */    K_F9,    K_F10,    K_NUM,    K_HOLD,
  39. /* 5c-5f */    K_PSLASH,    K_PSTAR,    K_PPLUS,    K_F11,
  40. /* 60-63 */    K_SHIFT,    K_SHIFT,    K_CAPS,    K_CTRL,
  41. /* 64-67 */    K_ALT,    K_ALTGR,    K_HOLE,    K_HOLE,
  42. /* 68-6b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  43. /* 6c-6f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  44. /* 70-73 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  45. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  46. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  47. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  48.     }, { /* shift */
  49. /* 00-03 */    '~',    '!',    '@',    '#',
  50. /* 04-07 */    '$',    '%',    '^',    '&',
  51. /* 08-0b */    '*',    '(',    ')',    '_',
  52. /* 0c-0f */    '+',    '|',    K_HOLE,    K_P0,
  53. /* 10-13 */    'Q',    'W',    'E',    'R',
  54. /* 14-17 */    'T',    'Y',    'U',    'I',
  55. /* 18-1b */    'O',    'P',    '{',    '}',
  56. /* 1c-1f */    K_HOLE,    K_P1,    K_P2,    K_P3,
  57. /* 20-23 */    'A',    'S',    'D',    'F',
  58. /* 24-27 */    'G',    'H',    'J',    'K',
  59. /* 28-2b */    'L',    ':',    '"',    K_HOLE,
  60. /* 2c-2f */    K_HOLE,    K_P4,    K_P5,    K_P6,
  61. /* 30-33 */    K_HOLE,    'Z',    'X',    'C',
  62. /* 34-37 */    'V',    'B',    'N',    'M',
  63. /* 38-3b */    '<',    '>',    '?',    K_HOLE,
  64. /* 3c-3f */    K_PDOT,    K_P7,    K_P8,    K_P9,
  65. /* 40-43 */    ' ',    'H'&0x1f,    'I'&0x1f,    K_PENTER,
  66. /* 44-47 */    K_ENTER,    '['&0x1f,    '?'|0x40,    K_HOLE,
  67. /* 48-4b */    K_HOLE,    K_HOLE,    K_PMINUS,    K_HOLE,
  68. /* 4c-4f */    K_UP,    K_DOWN,    K_RIGHT,    K_LEFT,
  69. /* 50-53 */    K_F11,    K_F12,    K_F13,    K_F14,
  70. /* 54-57 */    K_F15,    K_F16,    K_F17,    K_F18,
  71. /* 58-5b */    K_F19,    K_F20,    K_NUM,    K_SH_MEM,
  72. /* 5c-5f */    K_PSLASH,    K_PSTAR,    K_PPLUS,    K_F11,
  73. /* 60-63 */    K_SHIFT,    K_SHIFT,    K_CAPS,    K_CTRL,
  74. /* 64-67 */    K_ALT,    K_ALTGR,    K_HOLE,    K_HOLE,
  75. /* 68-6b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  76. /* 6c-6f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  77. /* 70-73 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  78. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  79. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  80. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  81.     }, { /* altgr */
  82. /* 00-03 */    K_HOLE,    K_HOLE,    '@',    K_HOLE,
  83. /* 04-07 */    '$',    K_HOLE,    K_HOLE,    '{',
  84. /* 08-0b */    '[',    ']',    '}',    '\\',
  85. /* 0c-0f */    K_HOLE,    K_HOLE,    K_HOLE,    K_P0,
  86. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  87. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  88. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    '~',
  89. /* 1c-1f */    K_HOLE,    K_P1,    K_P2,    K_P3,
  90. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  91. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  92. /* 28-2b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  93. /* 2c-2f */    K_HOLE,    K_P4,    K_P5,    K_P6,
  94. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  95. /* 34-37 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  96. /* 38-3b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  97. /* 3c-3f */    K_PDOT,    K_P7,    K_P8,    K_P9,
  98. /* 40-43 */    K_HOLE,    'H'&0x1f,    K_HOLE,    K_PENTER,
  99. /* 44-47 */    K_ENTER,    K_HOLE,    K_HOLE,    K_HOLE,
  100. /* 48-4b */    K_HOLE,    K_HOLE,    K_PMINUS,    K_HOLE,
  101. /* 4c-4f */    K_UP,    K_DOWN,    K_RIGHT,    K_LEFT,
  102. /* 50-53 */    K(KT_CONS,12),    K(KT_CONS,13),    K(KT_CONS,14),    K(KT_CONS,15),
  103. /* 54-57 */    K(KT_CONS,16),    K(KT_CONS,17),    K(KT_CONS,18),    K(KT_CONS,19),
  104. /* 58-5b */    K(KT_CONS,20),    K(KT_CONS,21),    K_NUM,    K_SH_REGS,
  105. /* 5c-5f */    K_PSLASH,    K_PSTAR,    K_PPLUS,    K(KT_CONS,22),
  106. /* 60-63 */    K_SHIFT,    K_SHIFT,    K_CAPS,    K_CTRL,
  107. /* 64-67 */    K_ALT,    K_ALTGR,    K_HOLE,    K_HOLE,
  108. /* 68-6b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  109. /* 6c-6f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  110. /* 70-73 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  111. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  112. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  113. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  114.     }, { /* shift altgr */
  115. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  116. /* 04-07 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  117. /* 08-0b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  118. /* 0c-0f */    K_HOLE,    K_HOLE,    K_HOLE,    K_P0,
  119. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  120. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  121. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  122. /* 1c-1f */    K_HOLE,    K_P1,    K_P2,    K_P3,
  123. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  124. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  125. /* 28-2b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  126. /* 2c-2f */    K_HOLE,    K_P4,    K_P5,    K_P6,
  127. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  128. /* 34-37 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  129. /* 38-3b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  130. /* 3c-3f */    K_PDOT,    K_P7,    K_P8,    K_P9,
  131. /* 40-43 */    K_HOLE,    'H'&0x1f,    K_HOLE,    K_PENTER,
  132. /* 44-47 */    K_ENTER,    K_HOLE,    K_HOLE,    K_HOLE,
  133. /* 48-4b */    K_HOLE,    K_HOLE,    K_PMINUS,    K_HOLE,
  134. /* 4c-4f */    K_UP,    K_DOWN,    K_RIGHT,    K_LEFT,
  135. /* 50-53 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  136. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  137. /* 58-5b */    K_HOLE,    K_HOLE,    K_NUM,    K_HOLE,
  138. /* 5c-5f */    K_PSLASH,    K_PSTAR,    K_PPLUS,    K_HOLE,
  139. /* 60-63 */    K_SHIFT,    K_SHIFT,    K_CAPS,    K_CTRL,
  140. /* 64-67 */    K_ALT,    K_ALTGR,    K_HOLE,    K_HOLE,
  141. /* 68-6b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  142. /* 6c-6f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  143. /* 70-73 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  144. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  145. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  146. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  147.     }, { /* control */
  148. /* 00-03 */    '@'&0x1f,    K_HOLE,    '@'&0x1f,    '['&0x1f,
  149. /* 04-07 */    '\\'&0x1f,    ']'&0x1f,    '^'&0x1f,    '_'&0x1f,
  150. /* 08-0b */    '?'|0x40,    K_HOLE,    K_HOLE,    '_'&0x1f,
  151. /* 0c-0f */    K_HOLE,    '\\'&0x1f,    K_HOLE,    K_P0,
  152. /* 10-13 */    'Q'&0x1f,    'W'&0x1f,    'E'&0x1f,    'R'&0x1f,
  153. /* 14-17 */    'T'&0x1f,    'Y'&0x1f,    'U'&0x1f,    'I'&0x1f,
  154. /* 18-1b */    'O'&0x1f,    'P'&0x1f,    '['&0x1f,    ']'&0x1f,
  155. /* 1c-1f */    K_HOLE,    K_P1,    K_P2,    K_P3,
  156. /* 20-23 */    'A'&0x1f,    'S'&0x1f,    'D'&0x1f,    'F'&0x1f,
  157. /* 24-27 */    'G'&0x1f,    'H'&0x1f,    'J'&0x1f,    'K'&0x1f,
  158. /* 28-2b */    'L'&0x1f,    K_HOLE,    'G'&0x1f,    K_HOLE,
  159. /* 2c-2f */    K_HOLE,    K_P4,    K_P5,    K_P6,
  160. /* 30-33 */    K_HOLE,    'Z'&0x1f,    'X'&0x1f,    'C'&0x1f,
  161. /* 34-37 */    'V'&0x1f,    'B'&0x1f,    'N'&0x1f,    'M'&0x1f,
  162. /* 38-3b */    K_HOLE,    K_HOLE,    '?'|0x40,    K_HOLE,
  163. /* 3c-3f */    K_PDOT,    K_P7,    K_P8,    K_P9,
  164. /* 40-43 */    '@'&0x1f,    'H'&0x1f,    K_HOLE,    K_PENTER,
  165. /* 44-47 */    K_ENTER,    K_HOLE,    K_HOLE,    K_HOLE,
  166. /* 48-4b */    K_HOLE,    K_HOLE,    K_PMINUS,    K_HOLE,
  167. /* 4c-4f */    K_UP,    K_DOWN,    K_RIGHT,    K_LEFT,
  168. /* 50-53 */    K_F1,    K_F2,    K_F3,    K_F4,
  169. /* 54-57 */    K_F5,    K_F6,    K_F7,    K_F8,
  170. /* 58-5b */    K_F9,    K_F10,    K_NUM,    K_SH_STAT,
  171. /* 5c-5f */    K_PSLASH,    K_PSTAR,    K_PPLUS,    K_F11,
  172. /* 60-63 */    K_SHIFT,    K_SHIFT,    K_CAPS,    K_CTRL,
  173. /* 64-67 */    K_ALT,    K_ALTGR,    K_HOLE,    K_HOLE,
  174. /* 68-6b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  175. /* 6c-6f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  176. /* 70-73 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  177. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  178. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  179. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  180.     }, { /* shift control */
  181. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  182. /* 04-07 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  183. /* 08-0b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  184. /* 0c-0f */    K_HOLE,    K_HOLE,    K_HOLE,    K_P0,
  185. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  186. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  187. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  188. /* 1c-1f */    K_HOLE,    K_P1,    K_P2,    K_P3,
  189. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  190. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  191. /* 28-2b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  192. /* 2c-2f */    K_HOLE,    K_P4,    K_P5,    K_P6,
  193. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  194. /* 34-37 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  195. /* 38-3b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  196. /* 3c-3f */    K_PDOT,    K_P7,    K_P8,    K_P9,
  197. /* 40-43 */    K_HOLE,    'H'&0x1f,    K_HOLE,    K_PENTER,
  198. /* 44-47 */    K_ENTER,    K_HOLE,    K_HOLE,    K_HOLE,
  199. /* 48-4b */    K_HOLE,    K_HOLE,    K_PMINUS,    K_HOLE,
  200. /* 4c-4f */    K_UP,    K_DOWN,    K_RIGHT,    K_LEFT,
  201. /* 50-53 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  202. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  203. /* 58-5b */    K_HOLE,    K_HOLE,    K_NUM,    K_HOLE,
  204. /* 5c-5f */    K_PSLASH,    K_PSTAR,    K_PPLUS,    K_HOLE,
  205. /* 60-63 */    K_SHIFT,    K_SHIFT,    K_CAPS,    K_CTRL,
  206. /* 64-67 */    K_ALT,    K_ALTGR,    K_HOLE,    K_HOLE,
  207. /* 68-6b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  208. /* 6c-6f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  209. /* 70-73 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  210. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  211. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  212. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  213.     }, { /* control altgr */
  214. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  215. /* 04-07 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  216. /* 08-0b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  217. /* 0c-0f */    K_HOLE,    K_HOLE,    K_HOLE,    K_P0,
  218. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  219. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  220. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  221. /* 1c-1f */    K_HOLE,    K_P1,    K_P2,    K_P3,
  222. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  223. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  224. /* 28-2b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  225. /* 2c-2f */    K_HOLE,    K_P4,    K_P5,    K_P6,
  226. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  227. /* 34-37 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  228. /* 38-3b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  229. /* 3c-3f */    K_BOOT,    K_P7,    K_P8,    K_P9,
  230. /* 40-43 */    K_HOLE,    'H'&0x1f,    K_HOLE,    K_PENTER,
  231. /* 44-47 */    K_ENTER,    K_HOLE,    K_HOLE,    K_HOLE,
  232. /* 48-4b */    K_HOLE,    K_HOLE,    K_PMINUS,    K_HOLE,
  233. /* 4c-4f */    K_UP,    K_DOWN,    K_RIGHT,    K_LEFT,
  234. /* 50-53 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  235. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  236. /* 58-5b */    K_HOLE,    K_HOLE,    K_NUM,    K_HOLE,
  237. /* 5c-5f */    K_PSLASH,    K_PSTAR,    K_PPLUS,    K_HOLE,
  238. /* 60-63 */    K_SHIFT,    K_SHIFT,    K_CAPS,    K_CTRL,
  239. /* 64-67 */    K_ALT,    K_ALTGR,    K_HOLE,    K_HOLE,
  240. /* 68-6b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  241. /* 6c-6f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  242. /* 70-73 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  243. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  244. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  245. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  246.     }, { /* shift control altgr */
  247. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  248. /* 04-07 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  249. /* 08-0b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  250. /* 0c-0f */    K_HOLE,    K_HOLE,    K_HOLE,    K_P0,
  251. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  252. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  253. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  254. /* 1c-1f */    K_HOLE,    K_P1,    K_P2,    K_P3,
  255. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  256. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  257. /* 28-2b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  258. /* 2c-2f */    K_HOLE,    K_P4,    K_P5,    K_P6,
  259. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  260. /* 34-37 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  261. /* 38-3b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  262. /* 3c-3f */    K_PDOT,    K_P7,    K_P8,    K_P9,
  263. /* 40-43 */    K_HOLE,    'H'&0x1f,    K_HOLE,    K_PENTER,
  264. /* 44-47 */    K_ENTER,    K_HOLE,    K_HOLE,    K_HOLE,
  265. /* 48-4b */    K_HOLE,    K_HOLE,    K_PMINUS,    K_HOLE,
  266. /* 4c-4f */    K_UP,    K_DOWN,    K_RIGHT,    K_LEFT,
  267. /* 50-53 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  268. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  269. /* 58-5b */    K_HOLE,    K_HOLE,    K_NUM,    K_HOLE,
  270. /* 5c-5f */    K_PSLASH,    K_PSTAR,    K_PPLUS,    K_HOLE,
  271. /* 60-63 */    K_SHIFT,    K_SHIFT,    K_CAPS,    K_CTRL,
  272. /* 64-67 */    K_ALT,    K_ALTGR,    K_HOLE,    K_HOLE,
  273. /* 68-6b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  274. /* 6c-6f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  275. /* 70-73 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  276. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  277. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  278. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  279.     }, { /* alt */
  280. /* 00-03 */    K(KT_META,'`'),    K(KT_META,'1'),    K(KT_META,'2'),    K(KT_META,'3'),
  281. /* 04-07 */    K(KT_META,'4'),    K(KT_META,'5'),    K(KT_META,'6'),    K(KT_META,'7'),
  282. /* 08-0b */    K(KT_META,'8'),    K(KT_META,'9'),    K(KT_META,'0'),    K(KT_META,'-'),
  283. /* 0c-0f */    K(KT_META,'='),    K(KT_META,'\\'),    K_HOLE,    K_ASC0,
  284. /* 10-13 */    K(KT_META,'q'),    K(KT_META,'w'),    K(KT_META,'e'),    K(KT_META,'r'),
  285. /* 14-17 */    K(KT_META,'t'),    K(KT_META,'y'),    K(KT_META,'u'),    K(KT_META,'i'),
  286. /* 18-1b */    K(KT_META,'o'),    K(KT_META,'p'),    K(KT_META,'['),    K(KT_META,']'),
  287. /* 1c-1f */    K_HOLE,    K_ASC1,    K_ASC2,    K_ASC3,
  288. /* 20-23 */    K(KT_META,'a'),    K(KT_META,'s'),    K(KT_META,'d'),    K(KT_META,'f'),
  289. /* 24-27 */    K(KT_META,'g'),    K(KT_META,'h'),    K(KT_META,'j'),    K(KT_META,'k'),
  290. /* 28-2b */    K(KT_META,'l'),    K(KT_META,';'),    K(KT_META,'\''),    K_HOLE,
  291. /* 2c-2f */    K_HOLE,    K_ASC4,    K_ASC5,    K_ASC6,
  292. /* 30-33 */    K_HOLE,    K(KT_META,'z'),    K(KT_META,'x'),    K(KT_META,'c'),
  293. /* 34-37 */    K(KT_META,'v'),    K(KT_META,'b'),    K(KT_META,'n'),    K(KT_META,'m'),
  294. /* 38-3b */    K(KT_META,','),    K(KT_META,'.'),    K(KT_META,'/'),    K_HOLE,
  295. /* 3c-3f */    K_PDOT,    K_ASC7,    K_ASC8,    K_ASC9,
  296. /* 40-43 */    K(KT_META,' '),    K(KT_META,'H'&0x1f),    K(KT_META,'I'&0x1f),    K_PENTER,
  297. /* 44-47 */    K(KT_META,'M'&0x1f),    K(KT_META,'['&0x1f),    K(KT_META,'?'|0x40),    K_HOLE,
  298. /* 48-4b */    K_HOLE,    K_HOLE,    K_PMINUS,    K_HOLE,
  299. /* 4c-4f */    K_UP,    K_DOWN,    K_RIGHT,    K_LEFT,
  300. /* 50-53 */    K(KT_CONS,0),    K(KT_CONS,1),    K(KT_CONS,2),    K(KT_CONS,3),
  301. /* 54-57 */    K(KT_CONS,4),    K(KT_CONS,5),    K(KT_CONS,6),    K(KT_CONS,7),
  302. /* 58-5b */    K(KT_CONS,8),    K(KT_CONS,9),    K_NUM,    K_HOLD,
  303. /* 5c-5f */    K_PSLASH,    K_PSTAR,    K_PPLUS,    K(KT_CONS,10),
  304. /* 60-63 */    K_SHIFT,    K_SHIFT,    K_CAPS,    K_CTRL,
  305. /* 64-67 */    K_ALT,    K_ALTGR,    K_HOLE,    K_HOLE,
  306. /* 68-6b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  307. /* 6c-6f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  308. /* 70-73 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  309. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  310. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  311. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  312.     }, { /* shift alt */
  313. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  314. /* 04-07 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  315. /* 08-0b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  316. /* 0c-0f */    K_HOLE,    K_HOLE,    K_HOLE,    K_P0,
  317. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  318. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  319. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  320. /* 1c-1f */    K_HOLE,    K_P1,    K_P2,    K_P3,
  321. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  322. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  323. /* 28-2b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  324. /* 2c-2f */    K_HOLE,    K_P4,    K_P5,    K_P6,
  325. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  326. /* 34-37 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  327. /* 38-3b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  328. /* 3c-3f */    K_PDOT,    K_P7,    K_P8,    K_P9,
  329. /* 40-43 */    K_HOLE,    'H'&0x1f,    K_HOLE,    K_PENTER,
  330. /* 44-47 */    K_ENTER,    K_HOLE,    K_HOLE,    K_HOLE,
  331. /* 48-4b */    K_HOLE,    K_HOLE,    K_PMINUS,    K_HOLE,
  332. /* 4c-4f */    K_UP,    K_DOWN,    K_RIGHT,    K_LEFT,
  333. /* 50-53 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  334. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  335. /* 58-5b */    K_HOLE,    K_HOLE,    K_NUM,    K_HOLE,
  336. /* 5c-5f */    K_PSLASH,    K_PSTAR,    K_PPLUS,    K_HOLE,
  337. /* 60-63 */    K_SHIFT,    K_SHIFT,    K_CAPS,    K_CTRL,
  338. /* 64-67 */    K_ALT,    K_ALTGR,    K_HOLE,    K_HOLE,
  339. /* 68-6b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  340. /* 6c-6f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  341. /* 70-73 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  342. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  343. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  344. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  345.     }, { /* alt altgr */
  346. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  347. /* 04-07 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  348. /* 08-0b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  349. /* 0c-0f */    K_HOLE,    K_HOLE,    K_HOLE,    K_P0,
  350. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  351. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  352. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  353. /* 1c-1f */    K_HOLE,    K_P1,    K_P2,    K_P3,
  354. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  355. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  356. /* 28-2b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  357. /* 2c-2f */    K_HOLE,    K_P4,    K_P5,    K_P6,
  358. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  359. /* 34-37 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  360. /* 38-3b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  361. /* 3c-3f */    K_PDOT,    K_P7,    K_P8,    K_P9,
  362. /* 40-43 */    K_HOLE,    'H'&0x1f,    K_HOLE,    K_PENTER,
  363. /* 44-47 */    K_ENTER,    K_HOLE,    K_HOLE,    K_HOLE,
  364. /* 48-4b */    K_HOLE,    K_HOLE,    K_PMINUS,    K_HOLE,
  365. /* 4c-4f */    K_UP,    K_DOWN,    K_RIGHT,    K_LEFT,
  366. /* 50-53 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  367. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  368. /* 58-5b */    K_HOLE,    K_HOLE,    K_NUM,    K_HOLE,
  369. /* 5c-5f */    K_PSLASH,    K_PSTAR,    K_PPLUS,    K_HOLE,
  370. /* 60-63 */    K_SHIFT,    K_SHIFT,    K_CAPS,    K_CTRL,
  371. /* 64-67 */    K_ALT,    K_ALTGR,    K_HOLE,    K_HOLE,
  372. /* 68-6b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  373. /* 6c-6f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  374. /* 70-73 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  375. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  376. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  377. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  378.     }, { /* shift alt altgr */
  379. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  380. /* 04-07 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  381. /* 08-0b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  382. /* 0c-0f */    K_HOLE,    K_HOLE,    K_HOLE,    K_P0,
  383. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  384. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  385. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  386. /* 1c-1f */    K_HOLE,    K_P1,    K_P2,    K_P3,
  387. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  388. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  389. /* 28-2b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  390. /* 2c-2f */    K_HOLE,    K_P4,    K_P5,    K_P6,
  391. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  392. /* 34-37 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  393. /* 38-3b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  394. /* 3c-3f */    K_PDOT,    K_P7,    K_P8,    K_P9,
  395. /* 40-43 */    K_HOLE,    'H'&0x1f,    K_HOLE,    K_PENTER,
  396. /* 44-47 */    K_ENTER,    K_HOLE,    K_HOLE,    K_HOLE,
  397. /* 48-4b */    K_HOLE,    K_HOLE,    K_PMINUS,    K_HOLE,
  398. /* 4c-4f */    K_UP,    K_DOWN,    K_RIGHT,    K_LEFT,
  399. /* 50-53 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  400. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  401. /* 58-5b */    K_HOLE,    K_HOLE,    K_NUM,    K_HOLE,
  402. /* 5c-5f */    K_PSLASH,    K_PSTAR,    K_PPLUS,    K_HOLE,
  403. /* 60-63 */    K_SHIFT,    K_SHIFT,    K_CAPS,    K_CTRL,
  404. /* 64-67 */    K_ALT,    K_ALTGR,    K_HOLE,    K_HOLE,
  405. /* 68-6b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  406. /* 6c-6f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  407. /* 70-73 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  408. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  409. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  410. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  411.     }, { /* control alt */
  412. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  413. /* 04-07 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  414. /* 08-0b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  415. /* 0c-0f */    K_HOLE,    K_HOLE,    K_HOLE,    K_P0,
  416. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  417. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  418. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  419. /* 1c-1f */    K_HOLE,    K_P1,    K_P2,    K_P3,
  420. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  421. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  422. /* 28-2b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  423. /* 2c-2f */    K_HOLE,    K_P4,    K_P5,    K_P6,
  424. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  425. /* 34-37 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  426. /* 38-3b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  427. /* 3c-3f */    K_BOOT,    K_P7,    K_P8,    K_P9,
  428. /* 40-43 */    K_HOLE,    'H'&0x1f,    K_HOLE,    K_PENTER,
  429. /* 44-47 */    K_ENTER,    K_HOLE,    K_HOLE,    K_HOLE,
  430. /* 48-4b */    K_HOLE,    K_HOLE,    K_PMINUS,    K_HOLE,
  431. /* 4c-4f */    K_UP,    K_DOWN,    K_RIGHT,    K_LEFT,
  432. /* 50-53 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  433. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  434. /* 58-5b */    K_HOLE,    K_HOLE,    K_NUM,    K_HOLE,
  435. /* 5c-5f */    K_PSLASH,    K_PSTAR,    K_PPLUS,    K_HOLE,
  436. /* 60-63 */    K_SHIFT,    K_SHIFT,    K_CAPS,    K_CTRL,
  437. /* 64-67 */    K_ALT,    K_ALTGR,    K_HOLE,    K_HOLE,
  438. /* 68-6b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  439. /* 6c-6f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  440. /* 70-73 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  441. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  442. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  443. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  444.     }, { /* shift control alt */
  445. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  446. /* 04-07 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  447. /* 08-0b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  448. /* 0c-0f */    K_HOLE,    K_HOLE,    K_HOLE,    K_P0,
  449. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  450. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  451. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  452. /* 1c-1f */    K_HOLE,    K_P1,    K_P2,    K_P3,
  453. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  454. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  455. /* 28-2b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  456. /* 2c-2f */    K_HOLE,    K_P4,    K_P5,    K_P6,
  457. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  458. /* 34-37 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  459. /* 38-3b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  460. /* 3c-3f */    K_PDOT,    K_P7,    K_P8,    K_P9,
  461. /* 40-43 */    K_HOLE,    'H'&0x1f,    K_HOLE,    K_PENTER,
  462. /* 44-47 */    K_ENTER,    K_HOLE,    K_HOLE,    K_HOLE,
  463. /* 48-4b */    K_HOLE,    K_HOLE,    K_PMINUS,    K_HOLE,
  464. /* 4c-4f */    K_UP,    K_DOWN,    K_RIGHT,    K_LEFT,
  465. /* 50-53 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  466. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  467. /* 58-5b */    K_HOLE,    K_HOLE,    K_NUM,    K_HOLE,
  468. /* 5c-5f */    K_PSLASH,    K_PSTAR,    K_PPLUS,    K_HOLE,
  469. /* 60-63 */    K_SHIFT,    K_SHIFT,    K_CAPS,    K_CTRL,
  470. /* 64-67 */    K_ALT,    K_ALTGR,    K_HOLE,    K_HOLE,
  471. /* 68-6b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  472. /* 6c-6f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  473. /* 70-73 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  474. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  475. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  476. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  477.     }, { /* control alt altgr */
  478. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  479. /* 04-07 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  480. /* 08-0b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  481. /* 0c-0f */    K_HOLE,    K_HOLE,    K_HOLE,    K_P0,
  482. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  483. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  484. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  485. /* 1c-1f */    K_HOLE,    K_P1,    K_P2,    K_P3,
  486. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  487. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  488. /* 28-2b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  489. /* 2c-2f */    K_HOLE,    K_P4,    K_P5,    K_P6,
  490. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  491. /* 34-37 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  492. /* 38-3b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  493. /* 3c-3f */    K_PDOT,    K_P7,    K_P8,    K_P9,
  494. /* 40-43 */    K_HOLE,    'H'&0x1f,    K_HOLE,    K_PENTER,
  495. /* 44-47 */    K_ENTER,    K_HOLE,    K_HOLE,    K_HOLE,
  496. /* 48-4b */    K_HOLE,    K_HOLE,    K_PMINUS,    K_HOLE,
  497. /* 4c-4f */    K_UP,    K_DOWN,    K_RIGHT,    K_LEFT,
  498. /* 50-53 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  499. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  500. /* 58-5b */    K_HOLE,    K_HOLE,    K_NUM,    K_HOLE,
  501. /* 5c-5f */    K_PSLASH,    K_PSTAR,    K_PPLUS,    K_HOLE,
  502. /* 60-63 */    K_SHIFT,    K_SHIFT,    K_CAPS,    K_CTRL,
  503. /* 64-67 */    K_ALT,    K_ALTGR,    K_HOLE,    K_HOLE,
  504. /* 68-6b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  505. /* 6c-6f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  506. /* 70-73 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  507. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  508. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  509. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  510.     }, { /* shift control alt altgr */
  511. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  512. /* 04-07 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  513. /* 08-0b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  514. /* 0c-0f */    K_HOLE,    K_HOLE,    K_HOLE,    K_P0,
  515. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  516. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  517. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  518. /* 1c-1f */    K_HOLE,    K_P1,    K_P2,    K_P3,
  519. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  520. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  521. /* 28-2b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  522. /* 2c-2f */    K_HOLE,    K_P4,    K_P5,    K_P6,
  523. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  524. /* 34-37 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  525. /* 38-3b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  526. /* 3c-3f */    K_PDOT,    K_P7,    K_P8,    K_P9,
  527. /* 40-43 */    K_HOLE,    'H'&0x1f,    K_HOLE,    K_PENTER,
  528. /* 44-47 */    K_ENTER,    K_HOLE,    K_HOLE,    K_HOLE,
  529. /* 48-4b */    K_HOLE,    K_HOLE,    K_PMINUS,    K_HOLE,
  530. /* 4c-4f */    K_UP,    K_DOWN,    K_RIGHT,    K_LEFT,
  531. /* 50-53 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  532. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  533. /* 58-5b */    K_HOLE,    K_HOLE,    K_NUM,    K_HOLE,
  534. /* 5c-5f */    K_PSLASH,    K_PSTAR,    K_PPLUS,    K_HOLE,
  535. /* 60-63 */    K_SHIFT,    K_SHIFT,    K_CAPS,    K_CTRL,
  536. /* 64-67 */    K_ALT,    K_ALTGR,    K_HOLE,    K_HOLE,
  537. /* 68-6b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  538. /* 6c-6f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  539. /* 70-73 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  540. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  541. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  542. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  543.     },
  544. };
  545.  
  546. #endif
  547.  
  548. #if defined(CONFIG_ATARI)
  549. /* (permutation array was ata_kmap) */
  550.  
  551. /*
  552.  * ++roman: The following changes were applied manually:
  553.  *
  554.  *  - The Alt (= Meta) key works in combination with Shift and Control, e.g. Alt+Shift+a sends Meta-A (0xc1),
  555.  *    Alt+Control+A sends Meta-Ctrl-A (0x81) ...
  556.  *
  557.  *  - The parentheses on the keypad send '(' and ')' with all modifiers (as would do e.g. keypad '+'), but they cannot
  558.  *    be used as application keys (i.e. sending Esc O c).
  559.  *
  560.  *  - HELP and UNDO are mapped to be F11 and F12, resp. This way, applications that allow their own keyboard mappings
  561.  *    (e.g. tcsh, X Windows) can be configured to use them in the way the Label suggests (providing help or undoing).
  562.  *
  563.  *  - Console switching is done with Alt+Fx (consoles 1..10) and Shift+Alt+Fx (consoles 11..20).
  564.  *
  565.  *  - The misc. special function implemented in the kernel are mapped to the following key combinations:
  566.  *
  567.  *      ClrHome          -> Home/Find
  568.  *      Shift + ClrHome  -> End/Select
  569.  *      Shift + Up       -> Page Up
  570.  *      Shift + Down     -> Page Down
  571.  *      Alt + Help       -> show system status
  572.  *      Shift + Help     -> show memory info
  573.  *      Ctrl + Help      -> show registers
  574.  *      Ctrl + Alt + Del -> Reboot
  575.  *      Alt + Undo       -> switch to last console
  576.  *      Shift + Undo     -> send interrupt
  577.  *      Alt + Insert     -> stop/start output (same as ^S/^Q)
  578.  *      Alt + Up         -> Scroll back console (if implemented)
  579.  *      Alt + Down       -> Scroll forward console (if implemented)
  580.  *
  581.  */
  582.  
  583. u_short atari_key_map[NR_KEYMAPS][NR_KEYS] = {
  584.     { /* no modifiers */
  585. /* 00-03 */    K_HOLE,    '['&0x1f,    '1',    '2',
  586. /* 04-07 */    '3',    '4',    '5',    '6',
  587. /* 08-0b */    '7',    '8',    '9',    '0',
  588. /* 0c-0f */    '-',    '=',    'H'&0x1f,    'I'&0x1f,
  589. /* 10-13 */    K(KT_LETTER,'q'),    K(KT_LETTER,'w'),    K(KT_LETTER,'e'),    K(KT_LETTER,'r'),
  590. /* 14-17 */    K(KT_LETTER,'t'),    K(KT_LETTER,'y'),    K(KT_LETTER,'u'),    K(KT_LETTER,'i'),
  591. /* 18-1b */    K(KT_LETTER,'o'),    K(KT_LETTER,'p'),    '[',    ']',
  592. /* 1c-1f */    K_ENTER,    K_CTRL,    K(KT_LETTER,'a'),    K(KT_LETTER,'s'),
  593. /* 20-23 */    K(KT_LETTER,'d'),    K(KT_LETTER,'f'),    K(KT_LETTER,'g'),    K(KT_LETTER,'h'),
  594. /* 24-27 */    K(KT_LETTER,'j'),    K(KT_LETTER,'k'),    K(KT_LETTER,'l'),    ';',
  595. /* 28-2b */    '\'',    '`',    K_SHIFT,    '\\',
  596. /* 2c-2f */    K(KT_LETTER,'z'),    K(KT_LETTER,'x'),    K(KT_LETTER,'c'),    K(KT_LETTER,'v'),
  597. /* 30-33 */    K(KT_LETTER,'b'),    K(KT_LETTER,'n'),    K(KT_LETTER,'m'),    ',',
  598. /* 34-37 */    '.',    '/',    K_SHIFT,    K_HOLE,
  599. /* 38-3b */    K_ALT,    ' ',    K_CAPS,    K_F1,
  600. /* 3c-3f */    K_F2,    K_F3,    K_F4,    K_F5,
  601. /* 40-43 */    K_F6,    K_F7,    K_F8,    K_F9,
  602. /* 44-47 */    K_F10,    K_HOLE,    K_HOLE,    K_FIND,
  603. /* 48-4b */    K_UP,    K_HOLE,    K_PMINUS,    K_LEFT,
  604. /* 4c-4f */    K_HOLE,    K_RIGHT,    K_PPLUS,    K_HOLE,
  605. /* 50-53 */    K_DOWN,    K_HOLE,    K_INSERT,    '?'|0x40,
  606. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  607. /* 58-5b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  608. /* 5c-5f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  609. /* 60-63 */    K_HOLE,    K_F12,    K_F11,    '(',
  610. /* 64-67 */    ')',    K_PSLASH,    K_PSTAR,    K_P7,
  611. /* 68-6b */    K_P8,    K_P9,    K_P4,    K_P5,
  612. /* 6c-6f */    K_P6,    K_P1,    K_P2,    K_P3,
  613. /* 70-73 */    K_P0,    K_PDOT,    K_PENTER,    K_HOLE,
  614. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  615. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  616. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  617.     }, { /* shift */
  618. /* 00-03 */    K_HOLE,    '['&0x1f,    '!',    '@',
  619. /* 04-07 */    '#',    '$',    '%',    '^',
  620. /* 08-0b */    '&',    '*',    '(',    ')',
  621. /* 0c-0f */    '_',    '+',    'H'&0x1f,    'I'&0x1f,
  622. /* 10-13 */    K(KT_LETTER,'Q'),    K(KT_LETTER,'W'),    K(KT_LETTER,'E'),    K(KT_LETTER,'R'),
  623. /* 14-17 */    K(KT_LETTER,'T'),    K(KT_LETTER,'Y'),    K(KT_LETTER,'U'),    K(KT_LETTER,'I'),
  624. /* 18-1b */    K(KT_LETTER,'O'),    K(KT_LETTER,'P'),    '{',    '}',
  625. /* 1c-1f */    K_ENTER,    K_CTRL,    K(KT_LETTER,'A'),    K(KT_LETTER,'S'),
  626. /* 20-23 */    K(KT_LETTER,'D'),    K(KT_LETTER,'F'),    K(KT_LETTER,'G'),    K(KT_LETTER,'H'),
  627. /* 24-27 */    K(KT_LETTER,'J'),    K(KT_LETTER,'K'),    K(KT_LETTER,'L'),    ':',
  628. /* 28-2b */    '"',    '~',    K_SHIFT,    '|',
  629. /* 2c-2f */    K(KT_LETTER,'Z'),    K(KT_LETTER,'X'),    K(KT_LETTER,'C'),    K(KT_LETTER,'V'),
  630. /* 30-33 */    K(KT_LETTER,'B'),    K(KT_LETTER,'N'),    K(KT_LETTER,'M'),    '<',
  631. /* 34-37 */    '>',    '?',    K_SHIFT,    K_HOLE,
  632. /* 38-3b */    K_ALT,    ' ',    K_CAPS,    K_F11,
  633. /* 3c-3f */    K_F12,    K_F13,    K_F14,    K_F15,
  634. /* 40-43 */    K_F16,    K_F17,    K_F18,    K_F19,
  635. /* 44-47 */    K_F20,    K_HOLE,    K_HOLE,    K_SELECT,
  636. /* 48-4b */    K_PGUP,    K_HOLE,    K_PMINUS,    K_LEFT,
  637. /* 4c-4f */    K_HOLE,    K_RIGHT,    K_PPLUS,    K_HOLE,
  638. /* 50-53 */    K_PGDN,    K_HOLE,    K_INSERT,    '?'|0x40,
  639. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  640. /* 58-5b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  641. /* 5c-5f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  642. /* 60-63 */    K_HOLE,    K_BREAK,    K_SH_MEM,    '(',
  643. /* 64-67 */    ')',    K_PSLASH,    K_PSTAR,    K_P7,
  644. /* 68-6b */    K_P8,    K_P9,    K_P4,    K_P5,
  645. /* 6c-6f */    K_P6,    K_P1,    K_P2,    K_P3,
  646. /* 70-73 */    K_P0,    K_PDOT,    K_PENTER,    K_HOLE,
  647. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  648. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  649. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  650.     }, { /* altgr */ /* this can't happen on Atari (no AltGr key!) */
  651. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    '@',
  652. /* 04-07 */    K_HOLE,    '$',    K_HOLE,    K_HOLE,
  653. /* 08-0b */    '{',    '[',    ']',    '}',
  654. /* 0c-0f */    '\\',    K_HOLE,    'H'&0x1f,    K_HOLE,
  655. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  656. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  657. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    '~',
  658. /* 1c-1f */    K_ENTER,    K_CTRL,    K_HOLE,    K_HOLE,
  659. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  660. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  661. /* 28-2b */    K_HOLE,    K_HOLE,    K_SHIFT,    K_HOLE,
  662. /* 2c-2f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  663. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  664. /* 34-37 */    K_HOLE,    K_HOLE,    K_SHIFT,    K_HOLE,
  665. /* 38-3b */    K_ALT,    K_HOLE,    K_CAPS,    K(KT_CONS,12),
  666. /* 3c-3f */    K(KT_CONS,13),    K(KT_CONS,14),    K(KT_CONS,15),    K(KT_CONS,16),
  667. /* 40-43 */    K(KT_CONS,17),    K(KT_CONS,18),    K(KT_CONS,19),    K(KT_CONS,20),
  668. /* 44-47 */    K(KT_CONS,21),    K_HOLE,    K_HOLE,    K_FIND,
  669. /* 48-4b */    K_UP,    K_HOLE,    K_PMINUS,    K_LEFT,
  670. /* 4c-4f */    K_HOLE,    K_RIGHT,    K_PPLUS,    K_HOLE,
  671. /* 50-53 */    K_DOWN,    K_HOLE,    K_INSERT,    K_HOLE,
  672. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  673. /* 58-5b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  674. /* 5c-5f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  675. /* 60-63 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  676. /* 64-67 */    K_HOLE,    K_PSLASH,    K_PSTAR,    K_P7,
  677. /* 68-6b */    K_P8,    K_P9,    K_P4,    K_P5,
  678. /* 6c-6f */    K_P6,    K_P1,    K_P2,    K_P3,
  679. /* 70-73 */    K_P0,    K_PDOT,    K_PENTER,    K_HOLE,
  680. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  681. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  682. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  683.     }, { /* shift altgr */ /* this can't happen on Atari (no AltGr key!) */
  684. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  685. /* 04-07 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  686. /* 08-0b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  687. /* 0c-0f */    K_HOLE,    K_HOLE,    'H'&0x1f,    K_HOLE,
  688. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  689. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  690. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  691. /* 1c-1f */    K_ENTER,    K_CTRL,    K_HOLE,    K_HOLE,
  692. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  693. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  694. /* 28-2b */    K_HOLE,    K_HOLE,    K_SHIFT,    K_HOLE,
  695. /* 2c-2f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  696. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  697. /* 34-37 */    K_HOLE,    K_HOLE,    K_SHIFT,    K_HOLE,
  698. /* 38-3b */    K_ALT,    K_HOLE,    K_CAPS,    K_HOLE,
  699. /* 3c-3f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  700. /* 40-43 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  701. /* 44-47 */    K_HOLE,    K_HOLE,    K_HOLE,    K_FIND,
  702. /* 48-4b */    K_UP,    K_HOLE,    K_PMINUS,    K_LEFT,
  703. /* 4c-4f */    K_HOLE,    K_RIGHT,    K_PPLUS,    K_HOLE,
  704. /* 50-53 */    K_DOWN,    K_HOLE,    K_INSERT,    K_HOLE,
  705. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  706. /* 58-5b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  707. /* 5c-5f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  708. /* 60-63 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  709. /* 64-67 */    K_HOLE,    K_PSLASH,    K_PSTAR,    K_P7,
  710. /* 68-6b */    K_P8,    K_P9,    K_P4,    K_P5,
  711. /* 6c-6f */    K_P6,    K_P1,    K_P2,    K_P3,
  712. /* 70-73 */    K_P0,    K_PDOT,    K_PENTER,    K_HOLE,
  713. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  714. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  715. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  716.     }, { /* control */
  717. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    '@'&0x1f,
  718. /* 04-07 */    '['&0x1f,    '\\'&0x1f,    ']'&0x1f,    '^'&0x1f,
  719. /* 08-0b */    '_'&0x1f,    '?'|0x40,    K_HOLE,    K_HOLE,
  720. /* 0c-0f */    '_'&0x1f,    K_HOLE,    'H'&0x1f,    K_HOLE,
  721. /* 10-13 */    'Q'&0x1f,    'W'&0x1f,    'E'&0x1f,    'R'&0x1f,
  722. /* 14-17 */    'T'&0x1f,    'Y'&0x1f,    'U'&0x1f,    'I'&0x1f,
  723. /* 18-1b */    'O'&0x1f,    'P'&0x1f,    '['&0x1f,    ']'&0x1f,
  724. /* 1c-1f */    K_ENTER,    K_CTRL,    'A'&0x1f,    'S'&0x1f,
  725. /* 20-23 */    'D'&0x1f,    'F'&0x1f,    'G'&0x1f,    'H'&0x1f,
  726. /* 24-27 */    'J'&0x1f,    'K'&0x1f,    'L'&0x1f,    K_HOLE,
  727. /* 28-2b */    'G'&0x1f,    '@'&0x1f,    K_SHIFT,    '\\'&0x1f,
  728. /* 2c-2f */    'Z'&0x1f,    'X'&0x1f,    'C'&0x1f,    'V'&0x1f,
  729. /* 30-33 */    'B'&0x1f,    'N'&0x1f,    'M'&0x1f,    K_HOLE,
  730. /* 34-37 */    K_HOLE,    '?'|0x40,    K_SHIFT,    K_HOLE,
  731. /* 38-3b */    K_ALT,    '@'&0x1f,    K_CAPS,    K_F1,
  732. /* 3c-3f */    K_F2,    K_F3,    K_F4,    K_F5,
  733. /* 40-43 */    K_F6,    K_F7,    K_F8,    K_F9,
  734. /* 44-47 */    K_F10,    K_HOLE,    K_HOLE,    K_FIND,
  735. /* 48-4b */    K_UP,    K_HOLE,    K_PMINUS,    K_LEFT,
  736. /* 4c-4f */    K_HOLE,    K_RIGHT,    K_PPLUS,    K_HOLE,
  737. /* 50-53 */    K_DOWN,    K_HOLE,    K_INSERT,    K_HOLE,
  738. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  739. /* 58-5b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  740. /* 5c-5f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  741. /* 60-63 */    K_HOLE,    K_HOLE,    K_SH_REGS,    '(',
  742. /* 64-67 */    ')',    K_PSLASH,    K_PSTAR,    K_P7,
  743. /* 68-6b */    K_P8,    K_P9,    K_P4,    K_P5,
  744. /* 6c-6f */    K_P6,    K_P1,    K_P2,    K_P3,
  745. /* 70-73 */    K_P0,    K_PDOT,    K_PENTER,    K_HOLE,
  746. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  747. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  748. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  749.     }, { /* shift control */
  750. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  751. /* 04-07 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  752. /* 08-0b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  753. /* 0c-0f */    K_HOLE,    K_HOLE,    'H'&0x1f,    K_HOLE,
  754. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  755. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  756. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  757. /* 1c-1f */    K_ENTER,    K_CTRL,    K_HOLE,    K_HOLE,
  758. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  759. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  760. /* 28-2b */    K_HOLE,    K_HOLE,    K_SHIFT,    K_HOLE,
  761. /* 2c-2f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  762. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  763. /* 34-37 */    K_HOLE,    K_HOLE,    K_SHIFT,    K_HOLE,
  764. /* 38-3b */    K_ALT,    K_HOLE,    K_CAPS,    K_HOLE,
  765. /* 3c-3f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  766. /* 40-43 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  767. /* 44-47 */    K_HOLE,    K_HOLE,    K_HOLE,    K_FIND,
  768. /* 48-4b */    K_UP,    K_HOLE,    K_PMINUS,    K_LEFT,
  769. /* 4c-4f */    K_HOLE,    K_RIGHT,    K_PPLUS,    K_HOLE,
  770. /* 50-53 */    K_DOWN,    K_HOLE,    K_INSERT,    K_HOLE,
  771. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  772. /* 58-5b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  773. /* 5c-5f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  774. /* 60-63 */    K_HOLE,    K_HOLE,    K_HOLE,    '(',
  775. /* 64-67 */    ')',    K_PSLASH,    K_PSTAR,    K_P7,
  776. /* 68-6b */    K_P8,    K_P9,    K_P4,    K_P5,
  777. /* 6c-6f */    K_P6,    K_P1,    K_P2,    K_P3,
  778. /* 70-73 */    K_P0,    K_PDOT,    K_PENTER,    K_HOLE,
  779. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  780. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  781. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  782.     }, { /* control altgr */ /* this can't happen on Atari (no AltGr key!) */
  783. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  784. /* 04-07 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  785. /* 08-0b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  786. /* 0c-0f */    K_HOLE,    K_HOLE,    'H'&0x1f,    K_HOLE,
  787. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  788. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  789. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  790. /* 1c-1f */    K_ENTER,    K_CTRL,    K_HOLE,    K_HOLE,
  791. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  792. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  793. /* 28-2b */    K_HOLE,    K_HOLE,    K_SHIFT,    K_HOLE,
  794. /* 2c-2f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  795. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  796. /* 34-37 */    K_HOLE,    K_HOLE,    K_SHIFT,    K_HOLE,
  797. /* 38-3b */    K_ALT,    K_HOLE,    K_CAPS,    K_HOLE,
  798. /* 3c-3f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  799. /* 40-43 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  800. /* 44-47 */    K_HOLE,    K_HOLE,    K_HOLE,    K_FIND,
  801. /* 48-4b */    K_UP,    K_HOLE,    K_PMINUS,    K_LEFT,
  802. /* 4c-4f */    K_HOLE,    K_RIGHT,    K_PPLUS,    K_HOLE,
  803. /* 50-53 */    K_DOWN,    K_HOLE,    K_INSERT,    K_HOLE,
  804. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  805. /* 58-5b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  806. /* 5c-5f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  807. /* 60-63 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  808. /* 64-67 */    K_HOLE,    K_PSLASH,    K_PSTAR,    K_P7,
  809. /* 68-6b */    K_P8,    K_P9,    K_P4,    K_P5,
  810. /* 6c-6f */    K_P6,    K_P1,    K_P2,    K_P3,
  811. /* 70-73 */    K_P0,    K_BOOT,    K_PENTER,    K_HOLE,
  812. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  813. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  814. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  815.     }, { /* shift control altgr */ /* this can't happen on Atari (no AltGr key!) */
  816. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  817. /* 04-07 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  818. /* 08-0b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  819. /* 0c-0f */    K_HOLE,    K_HOLE,    'H'&0x1f,    K_HOLE,
  820. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  821. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  822. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  823. /* 1c-1f */    K_ENTER,    K_CTRL,    K_HOLE,    K_HOLE,
  824. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  825. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  826. /* 28-2b */    K_HOLE,    K_HOLE,    K_SHIFT,    K_HOLE,
  827. /* 2c-2f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  828. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  829. /* 34-37 */    K_HOLE,    K_HOLE,    K_SHIFT,    K_HOLE,
  830. /* 38-3b */    K_ALT,    K_HOLE,    K_CAPS,    K_HOLE,
  831. /* 3c-3f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  832. /* 40-43 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  833. /* 44-47 */    K_HOLE,    K_HOLE,    K_HOLE,    K_FIND,
  834. /* 48-4b */    K_UP,    K_HOLE,    K_PMINUS,    K_LEFT,
  835. /* 4c-4f */    K_HOLE,    K_RIGHT,    K_PPLUS,    K_HOLE,
  836. /* 50-53 */    K_DOWN,    K_HOLE,    K_INSERT,    K_HOLE,
  837. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  838. /* 58-5b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  839. /* 5c-5f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  840. /* 60-63 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  841. /* 64-67 */    K_HOLE,    K_PSLASH,    K_PSTAR,    K_P7,
  842. /* 68-6b */    K_P8,    K_P9,    K_P4,    K_P5,
  843. /* 6c-6f */    K_P6,    K_P1,    K_P2,    K_P3,
  844. /* 70-73 */    K_P0,    K_PDOT,    K_PENTER,    K_HOLE,
  845. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  846. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  847. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  848.     }, { /* alt */
  849. /* 00-03 */    K_HOLE,    K(KT_META,'['&0x1f),    K(KT_META,'1'),    K(KT_META,'2'),
  850. /* 04-07 */    K(KT_META,'3'),    K(KT_META,'4'),    K(KT_META,'5'),    K(KT_META,'6'),
  851. /* 08-0b */    K(KT_META,'7'),    K(KT_META,'8'),    K(KT_META,'9'),    K(KT_META,'0'),
  852. /* 0c-0f */    K(KT_META,'-'),    K(KT_META,'='),    K(KT_META,'H'&0x1f),    K(KT_META,'I'&0x1f),
  853. /* 10-13 */    K(KT_META,'q'),    K(KT_META,'w'),    K(KT_META,'e'),    K(KT_META,'r'),
  854. /* 14-17 */    K(KT_META,'t'),    K(KT_META,'y'),    K(KT_META,'u'),    K(KT_META,'i'),
  855. /* 18-1b */    K(KT_META,'o'),    K(KT_META,'p'),    K(KT_META,'['),    K(KT_META,']'),
  856. /* 1c-1f */    K(KT_META,'M'&0x1f),    K_CTRL,    K(KT_META,'a'),    K(KT_META,'s'),
  857. /* 20-23 */    K(KT_META,'d'),    K(KT_META,'f'),    K(KT_META,'g'),    K(KT_META,'h'),
  858. /* 24-27 */    K(KT_META,'j'),    K(KT_META,'k'),    K(KT_META,'l'),    K(KT_META,';'),
  859. /* 28-2b */    K(KT_META,'\''),    K(KT_META,'`'),    K_SHIFT,    K(KT_META,'\\'),
  860. /* 2c-2f */    K(KT_META,'z'),    K(KT_META,'x'),    K(KT_META,'c'),    K(KT_META,'v'),
  861. /* 30-33 */    K(KT_META,'b'),    K(KT_META,'n'),    K(KT_META,'m'),    K(KT_META,','),
  862. /* 34-37 */    K(KT_META,'.'),    K(KT_META,'/'),    K_SHIFT,    K_HOLE,
  863. /* 38-3b */    K_ALT,    K(KT_META,' '),    K_CAPS,    K(KT_CONS,0),
  864. /* 3c-3f */    K(KT_CONS,1),    K(KT_CONS,2),    K(KT_CONS,3),    K(KT_CONS,4),
  865. /* 40-43 */    K(KT_CONS,5),    K(KT_CONS,6),    K(KT_CONS,7),    K(KT_CONS,8),
  866. /* 44-47 */    K(KT_CONS,9),    K_HOLE,    K_HOLE,    K_FIND,
  867. /* 48-4b */    K_SCROLLBACK,    K_HOLE,    K_PMINUS,    K_LEFT,
  868. /* 4c-4f */    K_HOLE,    K_RIGHT,    K_PPLUS,    K_HOLE,
  869. /* 50-53 */    K_SCROLLFORW,    K_HOLE,    K_HOLD,    K(KT_META,'?'|0x40),
  870. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  871. /* 58-5b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  872. /* 5c-5f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  873. /* 60-63 */    K_HOLE,    K_CONS,    K_SH_STAT,    '(',
  874. /* 64-67 */    ')',    K_PSLASH,    K_PSTAR,    K_ASC7,
  875. /* 68-6b */    K_ASC8,    K_ASC9,    K_ASC4,    K_ASC5,
  876. /* 6c-6f */    K_ASC6,    K_ASC1,    K_ASC2,    K_ASC3,
  877. /* 70-73 */    K_ASC0,    K_PDOT,    K_PENTER,    K_HOLE,
  878. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  879. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  880. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  881.     }, { /* shift alt */
  882. /* 00-03 */    K_HOLE,    K(KT_META,'['&0x1f),    K(KT_META,'!'),    K(KT_META,'@'),
  883. /* 04-07 */    K(KT_META,'#'),    K(KT_META,'$'),    K(KT_META,'%'),    K(KT_META,'^'),
  884. /* 08-0b */    K(KT_META,'&'),    K(KT_META,'*'),    K(KT_META,'('),    K(KT_META,')'),
  885. /* 0c-0f */    K(KT_META,'_'),    K(KT_META,'+'),    K(KT_META,'H'&0x1f),    K(KT_META,'I'&0x1f),
  886. /* 10-13 */    K(KT_META,'Q'),    K(KT_META,'W'),    K(KT_META,'E'),    K(KT_META,'R'),
  887. /* 14-17 */    K(KT_META,'T'),    K(KT_META,'Y'),    K(KT_META,'U'),    K(KT_META,'I'),
  888. /* 18-1b */    K(KT_META,'O'),    K(KT_META,'P'),    K(KT_META,'{'),    K(KT_META,'}'),
  889. /* 1c-1f */    K(KT_META,K_ENTER),    K_CTRL,    K(KT_META,'A'),    K(KT_META,'S'),
  890. /* 20-23 */    K(KT_META,'D'),    K(KT_META,'F'),    K(KT_META,'G'),    K(KT_META,'H'),
  891. /* 24-27 */    K(KT_META,'J'),    K(KT_META,'K'),    K(KT_META,'L'),    K(KT_META,':'),
  892. /* 28-2b */    K(KT_META,'"'),    K(KT_META,'~'),    K_SHIFT,    K(KT_META,'|'),
  893. /* 2c-2f */    K(KT_META,'Z'),    K(KT_META,'X'),    K(KT_META,'C'),    K(KT_META,'V'),
  894. /* 30-33 */    K(KT_META,'B'),    K(KT_META,'N'),    K(KT_META,'M'),    K(KT_META,'<'),
  895. /* 34-37 */    K(KT_META,'>'),    K(KT_META,'?'),    K_SHIFT,    K_HOLE,
  896. /* 38-3b */    K_ALT,    K(KT_META,' '),    K_CAPS,    K(KT_CONS,10),
  897. /* 3c-3f */    K(KT_CONS,11),    K(KT_CONS,12),    K(KT_CONS,13),    K(KT_CONS,14),
  898. /* 40-43 */    K(KT_CONS,15),    K(KT_CONS,16),    K(KT_CONS,17),    K(KT_CONS,18),
  899. /* 44-47 */    K(KT_CONS,19),    K_HOLE,    K_HOLE,    K_SELECT,
  900. /* 48-4b */    K_PGUP,    K_HOLE,    K_PMINUS,    K_LEFT,
  901. /* 4c-4f */    K_HOLE,    K_RIGHT,    K_PPLUS,    K_HOLE,
  902. /* 50-53 */    K_PGDN,    K_HOLE,    K_INSERT,    K(KT_META,'?'|0x40),
  903. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  904. /* 58-5b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  905. /* 5c-5f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  906. /* 60-63 */    K_HOLE,    K_HOLE,    K_HOLE,    '(',
  907. /* 64-67 */    ')',    K_PSLASH,    K_PSTAR,    K_P7,
  908. /* 68-6b */    K_P8,    K_P9,    K_P4,    K_P5,
  909. /* 6c-6f */    K_P6,    K_P1,    K_P2,    K_P3,
  910. /* 70-73 */    K_P0,    K_PDOT,    K_PENTER,    K_HOLE,
  911. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  912. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  913. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  914.     }, { /* alt altgr */ /* this can't happen on Atari (no AltGr key!) */
  915. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  916. /* 04-07 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  917. /* 08-0b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  918. /* 0c-0f */    K_HOLE,    K_HOLE,    'H'&0x1f,    K_HOLE,
  919. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  920. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  921. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  922. /* 1c-1f */    K_ENTER,    K_CTRL,    K_HOLE,    K_HOLE,
  923. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  924. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  925. /* 28-2b */    K_HOLE,    K_HOLE,    K_SHIFT,    K_HOLE,
  926. /* 2c-2f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  927. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  928. /* 34-37 */    K_HOLE,    K_HOLE,    K_SHIFT,    K_HOLE,
  929. /* 38-3b */    K_ALT,    K_HOLE,    K_CAPS,    K_HOLE,
  930. /* 3c-3f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  931. /* 40-43 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  932. /* 44-47 */    K_HOLE,    K_HOLE,    K_HOLE,    K_FIND,
  933. /* 48-4b */    K_UP,    K_HOLE,    K_PMINUS,    K_LEFT,
  934. /* 4c-4f */    K_HOLE,    K_RIGHT,    K_PPLUS,    K_HOLE,
  935. /* 50-53 */    K_DOWN,    K_HOLE,    K_INSERT,    K_HOLE,
  936. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  937. /* 58-5b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  938. /* 5c-5f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  939. /* 60-63 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  940. /* 64-67 */    K_HOLE,    K_PSLASH,    K_PSTAR,    K_P7,
  941. /* 68-6b */    K_P8,    K_P9,    K_P4,    K_P5,
  942. /* 6c-6f */    K_P6,    K_P1,    K_P2,    K_P3,
  943. /* 70-73 */    K_P0,    K_PDOT,    K_PENTER,    K_HOLE,
  944. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  945. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  946. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  947.     }, { /* shift alt altgr */ /* this can't happen on Atari (no AltGr key!) */
  948. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  949. /* 04-07 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  950. /* 08-0b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  951. /* 0c-0f */    K_HOLE,    K_HOLE,    'H'&0x1f,    K_HOLE,
  952. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  953. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  954. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  955. /* 1c-1f */    K_ENTER,    K_CTRL,    K_HOLE,    K_HOLE,
  956. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  957. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  958. /* 28-2b */    K_HOLE,    K_HOLE,    K_SHIFT,    K_HOLE,
  959. /* 2c-2f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  960. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  961. /* 34-37 */    K_HOLE,    K_HOLE,    K_SHIFT,    K_HOLE,
  962. /* 38-3b */    K_ALT,    K_HOLE,    K_CAPS,    K_HOLE,
  963. /* 3c-3f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  964. /* 40-43 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  965. /* 44-47 */    K_HOLE,    K_HOLE,    K_HOLE,    K_FIND,
  966. /* 48-4b */    K_UP,    K_HOLE,    K_PMINUS,    K_LEFT,
  967. /* 4c-4f */    K_HOLE,    K_RIGHT,    K_PPLUS,    K_HOLE,
  968. /* 50-53 */    K_DOWN,    K_HOLE,    K_INSERT,    K_HOLE,
  969. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  970. /* 58-5b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  971. /* 5c-5f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  972. /* 60-63 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  973. /* 64-67 */    K_HOLE,    K_PSLASH,    K_PSTAR,    K_P7,
  974. /* 68-6b */    K_P8,    K_P9,    K_P4,    K_P5,
  975. /* 6c-6f */    K_P6,    K_P1,    K_P2,    K_P3,
  976. /* 70-73 */    K_P0,    K_PDOT,    K_PENTER,    K_HOLE,
  977. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  978. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  979. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  980.     }, { /* control alt */
  981. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    K(KT_META,'@'&0x1f),
  982. /* 04-07 */    K(KT_META,'['&0x1f),    K(KT_META,'\\'&0x1f),    K(KT_META,']'&0x1f),    K(KT_META,'^'&0x1f),
  983. /* 08-0b */    K(KT_META,'_'&0x1f),    K(KT_META,'?'|0x40),    K_HOLE,    K_HOLE,
  984. /* 0c-0f */    K(KT_META,'_'&0x1f),    K_HOLE,    K(KT_META,'H'&0x1f),    K_HOLE,
  985. /* 10-13 */    K(KT_META,'Q'&0x1f),    K(KT_META,'W'&0x1f),    K(KT_META,'E'&0x1f),    K(KT_META,'R'&0x1f),
  986. /* 14-17 */    K(KT_META,'T'&0x1f),    K(KT_META,'Y'&0x1f),    K(KT_META,'U'&0x1f),    K(KT_META,'I'&0x1f),
  987. /* 18-1b */    K(KT_META,'O'&0x1f),    K(KT_META,'P'&0x1f),    K(KT_META,'['&0x1f),    K(KT_META,']'&0x1f),
  988. /* 1c-1f */    K(KT_META,K_ENTER),    K_CTRL,    K(KT_META,'A'&0x1f),    K(KT_META,'S'&0x1f),
  989. /* 20-23 */    K(KT_META,'D'&0x1f),    K(KT_META,'F'&0x1f),    K(KT_META,'G'&0x1f),    K(KT_META,'H'&0x1f),
  990. /* 24-27 */    K(KT_META,'J'&0x1f),    K(KT_META,'K'&0x1f),    K(KT_META,'L'&0x1f),    K_HOLE,
  991. /* 28-2b */    K(KT_META,'G'&0x1f),    K(KT_META,'@'&0x1f),    K_SHIFT,    K(KT_META,'\\'&0x1f),
  992. /* 2c-2f */    K(KT_META,'Z'&0x1f),    K(KT_META,'X'&0x1f),    K(KT_META,'C'&0x1f),    K(KT_META,'V'&0x1f),
  993. /* 30-33 */    K(KT_META,'B'&0x1f),    K(KT_META,'N'&0x1f),    K(KT_META,'M'&0x1f),    K_HOLE,
  994. /* 34-37 */    K_HOLE,    K(KT_META,'?'|0x40),    K_SHIFT,    K_HOLE,
  995. /* 38-3b */    K_ALT,    K(KT_META,'@'&0x1f),    K_CAPS,    K_F1,
  996. /* 3c-3f */    K_F2,    K_F3,    K_F4,    K_F5,
  997. /* 40-43 */    K_F6,    K_F7,    K_F8,    K_F9,
  998. /* 44-47 */    K_F10,    K_HOLE,    K_HOLE,    K_FIND,
  999. /* 48-4b */    K_UP,    K_HOLE,    K_PMINUS,    K_LEFT,
  1000. /* 4c-4f */    K_HOLE,    K_RIGHT,    K_PPLUS,    K_HOLE,
  1001. /* 50-53 */    K_DOWN,    K_HOLE,    K_INSERT,    K_BOOT,
  1002. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1003. /* 58-5b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1004. /* 5c-5f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1005. /* 60-63 */    K_HOLE,    K_HOLE,    K_HOLE,    '(',
  1006. /* 64-67 */    ')',    K_PSLASH,    K_PSTAR,    K_P7,
  1007. /* 68-6b */    K_P8,    K_P9,    K_P4,    K_P5,
  1008. /* 6c-6f */    K_P6,    K_P1,    K_P2,    K_P3,
  1009. /* 70-73 */    K_P0,    K_PDOT,    K_PENTER,    K_HOLE,
  1010. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1011. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1012. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1013.     }, { /* shift control alt */
  1014. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1015. /* 04-07 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1016. /* 08-0b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1017. /* 0c-0f */    K_HOLE,    K_HOLE,    K(KT_META,'H'&0x1f),    K_HOLE,
  1018. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1019. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1020. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1021. /* 1c-1f */    K(KT_META,K_ENTER),    K_CTRL,    K_HOLE,    K_HOLE,
  1022. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1023. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1024. /* 28-2b */    K_HOLE,    K_HOLE,    K_SHIFT,    K_HOLE,
  1025. /* 2c-2f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1026. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1027. /* 34-37 */    K_HOLE,    K_HOLE,    K_SHIFT,    K_HOLE,
  1028. /* 38-3b */    K_ALT,    K_HOLE,    K_CAPS,    K_HOLE,
  1029. /* 3c-3f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1030. /* 40-43 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1031. /* 44-47 */    K_HOLE,    K_HOLE,    K_HOLE,    K_FIND,
  1032. /* 48-4b */    K_UP,    K_HOLE,    K_PMINUS,    K_LEFT,
  1033. /* 4c-4f */    K_HOLE,    K_RIGHT,    K_PPLUS,    K_HOLE,
  1034. /* 50-53 */    K_DOWN,    K_HOLE,    K_INSERT,    K_HOLE,
  1035. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1036. /* 58-5b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1037. /* 5c-5f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1038. /* 60-63 */    K_HOLE,    K_HOLE,    K_HOLE,    '(',
  1039. /* 64-67 */    ')',    K_PSLASH,    K_PSTAR,    K_P7,
  1040. /* 68-6b */    K_P8,    K_P9,    K_P4,    K_P5,
  1041. /* 6c-6f */    K_P6,    K_P1,    K_P2,    K_P3,
  1042. /* 70-73 */    K_P0,    K_PDOT,    K_PENTER,    K_HOLE,
  1043. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1044. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1045. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1046.     }, { /* control alt altgr */ /* this can't happen on Atari (no AltGr key!) */
  1047. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1048. /* 04-07 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1049. /* 08-0b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1050. /* 0c-0f */    K_HOLE,    K_HOLE,    'H'&0x1f,    K_HOLE,
  1051. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1052. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1053. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1054. /* 1c-1f */    K_ENTER,    K_CTRL,    K_HOLE,    K_HOLE,
  1055. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1056. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1057. /* 28-2b */    K_HOLE,    K_HOLE,    K_SHIFT,    K_HOLE,
  1058. /* 2c-2f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1059. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1060. /* 34-37 */    K_HOLE,    K_HOLE,    K_SHIFT,    K_HOLE,
  1061. /* 38-3b */    K_ALT,    K_HOLE,    K_CAPS,    K_HOLE,
  1062. /* 3c-3f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1063. /* 40-43 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1064. /* 44-47 */    K_HOLE,    K_HOLE,    K_HOLE,    K_FIND,
  1065. /* 48-4b */    K_UP,    K_HOLE,    K_PMINUS,    K_LEFT,
  1066. /* 4c-4f */    K_HOLE,    K_RIGHT,    K_PPLUS,    K_HOLE,
  1067. /* 50-53 */    K_DOWN,    K_HOLE,    K_INSERT,    K_HOLE,
  1068. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1069. /* 58-5b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1070. /* 5c-5f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1071. /* 60-63 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1072. /* 64-67 */    K_HOLE,    K_PSLASH,    K_PSTAR,    K_P7,
  1073. /* 68-6b */    K_P8,    K_P9,    K_P4,    K_P5,
  1074. /* 6c-6f */    K_P6,    K_P1,    K_P2,    K_P3,
  1075. /* 70-73 */    K_P0,    K_PDOT,    K_PENTER,    K_HOLE,
  1076. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1077. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1078. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1079.     }, { /* shift control alt altgr */ /* this can't happen on Atari (no AltGr key!) */
  1080. /* 00-03 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1081. /* 04-07 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1082. /* 08-0b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1083. /* 0c-0f */    K_HOLE,    K_HOLE,    'H'&0x1f,    K_HOLE,
  1084. /* 10-13 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1085. /* 14-17 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1086. /* 18-1b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1087. /* 1c-1f */    K_ENTER,    K_CTRL,    K_HOLE,    K_HOLE,
  1088. /* 20-23 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1089. /* 24-27 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1090. /* 28-2b */    K_HOLE,    K_HOLE,    K_SHIFT,    K_HOLE,
  1091. /* 2c-2f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1092. /* 30-33 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1093. /* 34-37 */    K_HOLE,    K_HOLE,    K_SHIFT,    K_HOLE,
  1094. /* 38-3b */    K_ALT,    K_HOLE,    K_CAPS,    K_HOLE,
  1095. /* 3c-3f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1096. /* 40-43 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1097. /* 44-47 */    K_HOLE,    K_HOLE,    K_HOLE,    K_FIND,
  1098. /* 48-4b */    K_UP,    K_HOLE,    K_PMINUS,    K_LEFT,
  1099. /* 4c-4f */    K_HOLE,    K_RIGHT,    K_PPLUS,    K_HOLE,
  1100. /* 50-53 */    K_DOWN,    K_HOLE,    K_INSERT,    K_HOLE,
  1101. /* 54-57 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1102. /* 58-5b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1103. /* 5c-5f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1104. /* 60-63 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1105. /* 64-67 */    K_HOLE,    K_PSLASH,    K_PSTAR,    K_P7,
  1106. /* 68-6b */    K_P8,    K_P9,    K_P4,    K_P5,
  1107. /* 6c-6f */    K_P6,    K_P1,    K_P2,    K_P3,
  1108. /* 70-73 */    K_P0,    K_PDOT,    K_PENTER,    K_HOLE,
  1109. /* 74-77 */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1110. /* 78-7b */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1111. /* 7c-7f */    K_HOLE,    K_HOLE,    K_HOLE,    K_HOLE,
  1112.     },
  1113. };
  1114.  
  1115. #endif
  1116.  
  1117.  
  1118. char func_buf[FUNC_BUFSIZE] = {
  1119.     '\033', '[', '[', 'A', 0, 
  1120.     '\033', '[', '[', 'B', 0, 
  1121.     '\033', '[', '[', 'C', 0, 
  1122.     '\033', '[', '[', 'D', 0, 
  1123.     '\033', '[', '[', 'E', 0, 
  1124.     '\033', '[', '1', '7', '~', 0, 
  1125.     '\033', '[', '1', '8', '~', 0, 
  1126.     '\033', '[', '1', '9', '~', 0, 
  1127.     '\033', '[', '2', '0', '~', 0, 
  1128.     '\033', '[', '2', '1', '~', 0, 
  1129.     '\033', '[', '2', '3', '~', 0, 
  1130.     '\033', '[', '2', '4', '~', 0, 
  1131.     '\033', '[', '2', '5', '~', 0, 
  1132.     '\033', '[', '2', '6', '~', 0, 
  1133.     '\033', '[', '2', '8', '~', 0, 
  1134.     '\033', '[', '2', '9', '~', 0, 
  1135.     '\033', '[', '3', '1', '~', 0, 
  1136.     '\033', '[', '3', '2', '~', 0, 
  1137.     '\033', '[', '3', '3', '~', 0, 
  1138.     '\033', '[', '3', '4', '~', 0, 
  1139.     '\033', '[', '1', '~', 0, 
  1140.     '\033', '[', '2', '~', 0, 
  1141.     '\033', '[', '3', '~', 0, 
  1142.     '\033', '[', '4', '~', 0, 
  1143.     '\033', '[', '5', '~', 0, 
  1144.     '\033', '[', '6', '~', 0, 
  1145.     0, 
  1146.     0, 
  1147.     0, 
  1148.     0, 
  1149.     0, 
  1150.     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  1151. };
  1152.  
  1153. char *func_table[NR_FUNC] = {
  1154.     func_buf + 0,
  1155.     func_buf + 5,
  1156.     func_buf + 10,
  1157.     func_buf + 15,
  1158.     func_buf + 20,
  1159.     func_buf + 25,
  1160.     func_buf + 31,
  1161.     func_buf + 37,
  1162.     func_buf + 43,
  1163.     func_buf + 49,
  1164.     func_buf + 55,
  1165.     func_buf + 61,
  1166.     func_buf + 67,
  1167.     func_buf + 73,
  1168.     func_buf + 79,
  1169.     func_buf + 85,
  1170.     func_buf + 91,
  1171.     func_buf + 97,
  1172.     func_buf + 103,
  1173.     func_buf + 109,
  1174.     func_buf + 115,
  1175.     func_buf + 120,
  1176.     func_buf + 125,
  1177.     func_buf + 130,
  1178.     func_buf + 135,
  1179.     func_buf + 140,
  1180.     func_buf + 145,
  1181.     func_buf + 146,
  1182.     func_buf + 147,
  1183.     func_buf + 148,
  1184.     func_buf + 149,
  1185.     func_buf + 150,
  1186. };
  1187.  
  1188. struct kbdiacr accent_table[MAX_DIACR] = {
  1189.     {'`', 'A', '\300'},    {'`', 'a', '\340'},
  1190.     {'\'', 'A', '\301'}, {'\'', 'a', '\341'},
  1191.     {'^', 'A', '\302'},    {'^', 'a', '\342'},
  1192.     {'~', 'A', '\303'},    {'~', 'a', '\343'},
  1193.     {'"', 'A', '\304'},    {'"', 'a', '\344'},
  1194.     {'O', 'A', '\305'},    {'o', 'a', '\345'},
  1195.     {'0', 'A', '\305'},    {'0', 'a', '\345'},
  1196.     {'A', 'A', '\305'},    {'a', 'a', '\345'},
  1197.     {'A', 'E', '\306'},    {'a', 'e', '\346'},
  1198.     {',', 'C', '\307'},    {',', 'c', '\347'},
  1199.     {'`', 'E', '\310'},    {'`', 'e', '\350'},
  1200.     {'\'', 'E', '\311'},{'\'', 'e', '\351'},
  1201.     {'^', 'E', '\312'},    {'^', 'e', '\352'},
  1202.     {'"', 'E', '\313'},    {'"', 'e', '\353'},
  1203.     {'`', 'I', '\314'},    {'`', 'i', '\354'},
  1204.     {'\'', 'I', '\315'},{'\'', 'i', '\355'},
  1205.     {'^', 'I', '\316'},    {'^', 'i', '\356'},
  1206.     {'"', 'I', '\317'},    {'"', 'i', '\357'},
  1207.     {'-', 'D', '\320'},    {'-', 'd', '\360'},
  1208.     {'~', 'N', '\321'},    {'~', 'n', '\361'},
  1209.     {'`', 'O', '\322'},    {'`', 'o', '\362'},
  1210.     {'\'', 'O', '\323'},{'\'', 'o', '\363'},
  1211.     {'^', 'O', '\324'},    {'^', 'o', '\364'},
  1212.     {'~', 'O', '\325'},    {'~', 'o', '\365'},
  1213.     {'"', 'O', '\326'},    {'"', 'o', '\366'},
  1214.     {'/', 'O', '\330'},    {'/', 'o', '\370'},
  1215.     {'`', 'U', '\331'},    {'`', 'u', '\371'},
  1216.     {'\'', 'U', '\332'},{'\'', 'u', '\372'},
  1217.     {'^', 'U', '\333'},    {'^', 'u', '\373'},
  1218.     {'"', 'U', '\334'},    {'"', 'u', '\374'},
  1219.     {'\'', 'Y', '\335'},{'\'', 'y', '\375'},
  1220.     {'T', 'H', '\336'},    {'t', 'h', '\376'},
  1221.     {'s', 's', '\337'},    {'"', 'y', '\377'},
  1222.     {'s', 'z', '\337'},    {'i', 'j', '\377'},
  1223. };
  1224.  
  1225. unsigned int accent_table_size = 68;
  1226.  
  1227. /* Local Variables: */
  1228. /* tab-width:24 */
  1229. /* End: */
  1230.